package edu.uwaterloo.bicycle.ui.contentassist.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalModeLanguageLexer extends Lexer {
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int EOF=-1;
    public static final int RULE_SL_COMMENT=9;
    public static final int RULE_TYPES=5;
    public static final int RULE_ML_COMMENT=8;
    public static final int T__19=19;
    public static final int RULE_MNAME=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int RULE_NUMBER=6;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_WS=10;
    public static final int RULE_BUILT_IN_MODES=7;

    // delegates
    // delegators

    public InternalModeLanguageLexer() {;} 
    public InternalModeLanguageLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public InternalModeLanguageLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g"; }

    // $ANTLR start "T__11"
    public final void mT__11() throws RecognitionException {
        try {
            int _type = T__11;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:11:7: ( 'MODE' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:11:9: 'MODE'
            {
            match("MODE"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__11"

    // $ANTLR start "T__12"
    public final void mT__12() throws RecognitionException {
        try {
            int _type = T__12;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:12:7: ( 'TYPE' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:12:9: 'TYPE'
            {
            match("TYPE"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__12"

    // $ANTLR start "T__13"
    public final void mT__13() throws RecognitionException {
        try {
            int _type = T__13;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:13:7: ( 'EXPRESSION' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:13:9: 'EXPRESSION'
            {
            match("EXPRESSION"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__13"

    // $ANTLR start "T__14"
    public final void mT__14() throws RecognitionException {
        try {
            int _type = T__14;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:14:7: ( 'CONDITION' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:14:9: 'CONDITION'
            {
            match("CONDITION"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__14"

    // $ANTLR start "T__15"
    public final void mT__15() throws RecognitionException {
        try {
            int _type = T__15;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:15:7: ( 'AND' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:15:9: 'AND'
            {
            match("AND"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__15"

    // $ANTLR start "T__16"
    public final void mT__16() throws RecognitionException {
        try {
            int _type = T__16;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:16:7: ( 'OR' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:16:9: 'OR'
            {
            match("OR"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__16"

    // $ANTLR start "T__17"
    public final void mT__17() throws RecognitionException {
        try {
            int _type = T__17;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:17:7: ( '>' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:17:9: '>'
            {
            match('>'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__17"

    // $ANTLR start "T__18"
    public final void mT__18() throws RecognitionException {
        try {
            int _type = T__18;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:18:7: ( '<' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:18:9: '<'
            {
            match('<'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__18"

    // $ANTLR start "T__19"
    public final void mT__19() throws RecognitionException {
        try {
            int _type = T__19;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:19:7: ( '=' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:19:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__19"

    // $ANTLR start "T__20"
    public final void mT__20() throws RecognitionException {
        try {
            int _type = T__20;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:20:7: ( '+' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:20:9: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__20"

    // $ANTLR start "T__21"
    public final void mT__21() throws RecognitionException {
        try {
            int _type = T__21;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:21:7: ( '-' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:21:9: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__21"

    // $ANTLR start "T__22"
    public final void mT__22() throws RecognitionException {
        try {
            int _type = T__22;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:22:7: ( '*' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:22:9: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__22"

    // $ANTLR start "T__23"
    public final void mT__23() throws RecognitionException {
        try {
            int _type = T__23;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:23:7: ( '/' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:23:9: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__23"

    // $ANTLR start "T__24"
    public final void mT__24() throws RecognitionException {
        try {
            int _type = T__24;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:24:7: ( '%' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:24:9: '%'
            {
            match('%'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__24"

    // $ANTLR start "T__25"
    public final void mT__25() throws RecognitionException {
        try {
            int _type = T__25;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:25:7: ( '(' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:25:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__25"

    // $ANTLR start "T__26"
    public final void mT__26() throws RecognitionException {
        try {
            int _type = T__26;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:26:7: ( ')' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:26:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__26"

    // $ANTLR start "T__27"
    public final void mT__27() throws RecognitionException {
        try {
            int _type = T__27;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:27:7: ( 'INVISIBLE' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:27:9: 'INVISIBLE'
            {
            match("INVISIBLE"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__27"

    // $ANTLR start "RULE_NUMBER"
    public final void mRULE_NUMBER() throws RecognitionException {
        try {
            int _type = RULE_NUMBER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:13: ( ( '0' .. '9' )* ( '.' ( '0' .. '9' )+ )? )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:15: ( '0' .. '9' )* ( '.' ( '0' .. '9' )+ )?
            {
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:15: ( '0' .. '9' )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>='0' && LA1_0<='9')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:16: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:27: ( '.' ( '0' .. '9' )+ )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0=='.') ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:28: '.' ( '0' .. '9' )+
                    {
                    match('.'); 
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:32: ( '0' .. '9' )+
                    int cnt2=0;
                    loop2:
                    do {
                        int alt2=2;
                        int LA2_0 = input.LA(1);

                        if ( ((LA2_0>='0' && LA2_0<='9')) ) {
                            alt2=1;
                        }


                        switch (alt2) {
                    	case 1 :
                    	    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2381:33: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt2 >= 1 ) break loop2;
                                EarlyExitException eee =
                                    new EarlyExitException(2, input);
                                throw eee;
                        }
                        cnt2++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_NUMBER"

    // $ANTLR start "RULE_ML_COMMENT"
    public final void mRULE_ML_COMMENT() throws RecognitionException {
        try {
            int _type = RULE_ML_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2383:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2383:19: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 

            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2383:24: ( options {greedy=false; } : . )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0=='*') ) {
                    int LA4_1 = input.LA(2);

                    if ( (LA4_1=='/') ) {
                        alt4=2;
                    }
                    else if ( ((LA4_1>='\u0000' && LA4_1<='.')||(LA4_1>='0' && LA4_1<='\uFFFF')) ) {
                        alt4=1;
                    }


                }
                else if ( ((LA4_0>='\u0000' && LA4_0<=')')||(LA4_0>='+' && LA4_0<='\uFFFF')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2383:52: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);

            match("*/"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_ML_COMMENT"

    // $ANTLR start "RULE_SL_COMMENT"
    public final void mRULE_SL_COMMENT() throws RecognitionException {
        try {
            int _type = RULE_SL_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            {
            match("//"); 

            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:24: (~ ( ( '\\n' | '\\r' ) ) )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0>='\u0000' && LA5_0<='\t')||(LA5_0>='\u000B' && LA5_0<='\f')||(LA5_0>='\u000E' && LA5_0<='\uFFFF')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:24: ~ ( ( '\\n' | '\\r' ) )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:40: ( ( '\\r' )? '\\n' )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0=='\n'||LA7_0=='\r') ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:41: ( '\\r' )? '\\n'
                    {
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:41: ( '\\r' )?
                    int alt6=2;
                    int LA6_0 = input.LA(1);

                    if ( (LA6_0=='\r') ) {
                        alt6=1;
                    }
                    switch (alt6) {
                        case 1 :
                            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2385:41: '\\r'
                            {
                            match('\r'); 

                            }
                            break;

                    }

                    match('\n'); 

                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_SL_COMMENT"

    // $ANTLR start "RULE_WS"
    public final void mRULE_WS() throws RecognitionException {
        try {
            int _type = RULE_WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2387:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2387:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            {
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2387:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            int cnt8=0;
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0>='\t' && LA8_0<='\n')||LA8_0=='\r'||LA8_0==' ') ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:
            	    {
            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    if ( cnt8 >= 1 ) break loop8;
                        EarlyExitException eee =
                            new EarlyExitException(8, input);
                        throw eee;
                }
                cnt8++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_WS"

    // $ANTLR start "RULE_BUILT_IN_MODES"
    public final void mRULE_BUILT_IN_MODES() throws RecognitionException {
        try {
            int _type = RULE_BUILT_IN_MODES;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2389:21: ( ( 'rot' | 'cir' ) )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2389:23: ( 'rot' | 'cir' )
            {
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2389:23: ( 'rot' | 'cir' )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0=='r') ) {
                alt9=1;
            }
            else if ( (LA9_0=='c') ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2389:24: 'rot'
                    {
                    match("rot"); 


                    }
                    break;
                case 2 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2389:30: 'cir'
                    {
                    match("cir"); 


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_BUILT_IN_MODES"

    // $ANTLR start "RULE_MNAME"
    public final void mRULE_MNAME() throws RecognitionException {
        try {
            int _type = RULE_MNAME;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2391:12: ( 'a' .. 'z' ( 'a' .. 'z' ( 'a' .. 'z' )? )? )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2391:14: 'a' .. 'z' ( 'a' .. 'z' ( 'a' .. 'z' )? )?
            {
            matchRange('a','z'); 
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2391:23: ( 'a' .. 'z' ( 'a' .. 'z' )? )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( ((LA11_0>='a' && LA11_0<='z')) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2391:24: 'a' .. 'z' ( 'a' .. 'z' )?
                    {
                    matchRange('a','z'); 
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2391:33: ( 'a' .. 'z' )?
                    int alt10=2;
                    int LA10_0 = input.LA(1);

                    if ( ((LA10_0>='a' && LA10_0<='z')) ) {
                        alt10=1;
                    }
                    switch (alt10) {
                        case 1 :
                            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2391:34: 'a' .. 'z'
                            {
                            matchRange('a','z'); 

                            }
                            break;

                    }


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_MNAME"

    // $ANTLR start "RULE_TYPES"
    public final void mRULE_TYPES() throws RecognitionException {
        try {
            int _type = RULE_TYPES;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2393:12: ( ( 'time' | 'integer' | 'real' ) )
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2393:14: ( 'time' | 'integer' | 'real' )
            {
            // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2393:14: ( 'time' | 'integer' | 'real' )
            int alt12=3;
            switch ( input.LA(1) ) {
            case 't':
                {
                alt12=1;
                }
                break;
            case 'i':
                {
                alt12=2;
                }
                break;
            case 'r':
                {
                alt12=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }

            switch (alt12) {
                case 1 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2393:15: 'time'
                    {
                    match("time"); 


                    }
                    break;
                case 2 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2393:22: 'integer'
                    {
                    match("integer"); 


                    }
                    break;
                case 3 :
                    // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:2393:32: 'real'
                    {
                    match("real"); 


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_TYPES"

    public void mTokens() throws RecognitionException {
        // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_NUMBER | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_BUILT_IN_MODES | RULE_MNAME | RULE_TYPES )
        int alt13=24;
        alt13 = dfa13.predict(input);
        switch (alt13) {
            case 1 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:10: T__11
                {
                mT__11(); 

                }
                break;
            case 2 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:16: T__12
                {
                mT__12(); 

                }
                break;
            case 3 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:22: T__13
                {
                mT__13(); 

                }
                break;
            case 4 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:28: T__14
                {
                mT__14(); 

                }
                break;
            case 5 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:34: T__15
                {
                mT__15(); 

                }
                break;
            case 6 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:40: T__16
                {
                mT__16(); 

                }
                break;
            case 7 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:46: T__17
                {
                mT__17(); 

                }
                break;
            case 8 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:52: T__18
                {
                mT__18(); 

                }
                break;
            case 9 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:58: T__19
                {
                mT__19(); 

                }
                break;
            case 10 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:64: T__20
                {
                mT__20(); 

                }
                break;
            case 11 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:70: T__21
                {
                mT__21(); 

                }
                break;
            case 12 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:76: T__22
                {
                mT__22(); 

                }
                break;
            case 13 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:82: T__23
                {
                mT__23(); 

                }
                break;
            case 14 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:88: T__24
                {
                mT__24(); 

                }
                break;
            case 15 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:94: T__25
                {
                mT__25(); 

                }
                break;
            case 16 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:100: T__26
                {
                mT__26(); 

                }
                break;
            case 17 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:106: T__27
                {
                mT__27(); 

                }
                break;
            case 18 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:112: RULE_NUMBER
                {
                mRULE_NUMBER(); 

                }
                break;
            case 19 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:124: RULE_ML_COMMENT
                {
                mRULE_ML_COMMENT(); 

                }
                break;
            case 20 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:140: RULE_SL_COMMENT
                {
                mRULE_SL_COMMENT(); 

                }
                break;
            case 21 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:156: RULE_WS
                {
                mRULE_WS(); 

                }
                break;
            case 22 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:164: RULE_BUILT_IN_MODES
                {
                mRULE_BUILT_IN_MODES(); 

                }
                break;
            case 23 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:184: RULE_MNAME
                {
                mRULE_MNAME(); 

                }
                break;
            case 24 :
                // ../edu.uwaterloo.bicycle.ui/src-gen/edu/uwaterloo/bicycle/ui/contentassist/antlr/internal/InternalModeLanguage.g:1:195: RULE_TYPES
                {
                mRULE_TYPES(); 

                }
                break;

        }

    }


    protected DFA13 dfa13 = new DFA13(this);
    static final String DFA13_eotS =
        "\1\22\14\uffff\1\33\6\uffff\4\30\4\uffff\5\30\1\uffff\1\30\1\uffff"+
        "\2\30\2\uffff";
    static final String DFA13_eofS =
        "\50\uffff";
    static final String DFA13_minS =
        "\1\11\14\uffff\1\52\6\uffff\1\145\2\151\1\156\4\uffff\1\164\1\141"+
        "\1\162\1\155\1\164\1\uffff\1\154\1\uffff\2\145\2\uffff";
    static final String DFA13_maxS =
        "\1\172\14\uffff\1\57\6\uffff\1\157\2\151\1\156\4\uffff\1\164\1"+
        "\141\1\162\1\155\1\164\1\uffff\1\154\1\uffff\2\145\2\uffff";
    static final String DFA13_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+
        "\uffff\1\16\1\17\1\20\1\21\1\22\1\25\4\uffff\1\27\1\23\1\24\1\15"+
        "\5\uffff\1\26\1\uffff\1\26\2\uffff\1\26\1\30";
    static final String DFA13_specialS =
        "\50\uffff}>";
    static final String[] DFA13_transitionS = {
            "\2\23\2\uffff\1\23\22\uffff\1\23\4\uffff\1\16\2\uffff\1\17"+
            "\1\20\1\14\1\12\1\uffff\1\13\1\uffff\1\15\14\uffff\1\10\1\11"+
            "\1\7\2\uffff\1\5\1\uffff\1\4\1\uffff\1\3\3\uffff\1\21\3\uffff"+
            "\1\1\1\uffff\1\6\4\uffff\1\2\14\uffff\2\30\1\25\5\30\1\27\10"+
            "\30\1\24\1\30\1\26\6\30",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\31\4\uffff\1\32",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\35\11\uffff\1\34",
            "\1\36",
            "\1\37",
            "\1\40",
            "",
            "",
            "",
            "",
            "\1\41",
            "\1\42",
            "\1\43",
            "\1\44",
            "\1\45",
            "",
            "\1\47",
            "",
            "\1\47",
            "\1\47",
            "",
            ""
    };

    static final short[] DFA13_eot = DFA.unpackEncodedString(DFA13_eotS);
    static final short[] DFA13_eof = DFA.unpackEncodedString(DFA13_eofS);
    static final char[] DFA13_min = DFA.unpackEncodedStringToUnsignedChars(DFA13_minS);
    static final char[] DFA13_max = DFA.unpackEncodedStringToUnsignedChars(DFA13_maxS);
    static final short[] DFA13_accept = DFA.unpackEncodedString(DFA13_acceptS);
    static final short[] DFA13_special = DFA.unpackEncodedString(DFA13_specialS);
    static final short[][] DFA13_transition;

    static {
        int numStates = DFA13_transitionS.length;
        DFA13_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA13_transition[i] = DFA.unpackEncodedString(DFA13_transitionS[i]);
        }
    }

    class DFA13 extends DFA {

        public DFA13(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 13;
            this.eot = DFA13_eot;
            this.eof = DFA13_eof;
            this.min = DFA13_min;
            this.max = DFA13_max;
            this.accept = DFA13_accept;
            this.special = DFA13_special;
            this.transition = DFA13_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_NUMBER | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_BUILT_IN_MODES | RULE_MNAME | RULE_TYPES );";
        }
    }
 

}